﻿using AJWPFAdmin.Core.CommonEntity;
using AJWPFAdmin.Core.Enums;
using AJWPFAdmin.Core.Excel;
using Masuit.Tools.Core.Validator;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AJWPFAdmin.Core.Models.EF.Tables
{
    /// <summary>
    /// 排放超标表
    /// </summary>
    [Comment("排放超标表")]
    public partial class EmiRiseRecord : CommonTableEntity
    {
        /// <summary>
        /// 车牌号
        /// </summary>
        [Comment("车牌号")]
        [Required]
        [MaxLength(120)]
        [AJExportField(ColumnName = "车牌号")]
        public string CarNo { get; set; }

        /// <summary>
        /// 超标核实结果 0 超标 1 不超标
        /// </summary>
        [Comment("超标核实结果")]
        [Display(Name = "超标核实结果")]
        public int? OverproofVerifyResult { get; set; }

        /// <summary>
        /// 超标原因
        /// </summary>
        [Comment("超标原因")]
        [Required]
        [MaxLength(500)]
        [AJExportField(ColumnName = "超标原因")]
        public string ExceedInfo { get; set; }

        /// <summary>
        /// 是否解除超标排放-0 未解除 1 已解除 2 未核实
        /// </summary>
        [Comment("是否解除超标排放")]
        [Required]
        [AJExportField(ColumnName = "是否解除超标排放")]
        public int ExceedFlag { get; set; }


        /// <summary>
        /// 下发时间
        /// </summary>
        [Comment("下发时间")]
        [Display(Name = "下发时间")]
        public DateTime StartTime { get; set; }

        /// <summary>
        /// 进厂时间
        /// </summary>
        [Comment("解除时间")]
        [Display(Name = "解除时间")]
        public DateTime? EndTime { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [Comment("备注")]
        [MaxLength(500)]
        [AJExportField(ColumnName = "备注")]
        public string Remark { get; set; }

        /// <summary>
        /// 是否已同步
        /// </summary>
        [Comment("是否已同步")]
        public bool Synchronized { get; set; }

        /// <summary>
        /// 来源接口
        /// </summary>
        [Comment("来源接口")]
        public SystemConfigKey API { get; set; }

        /// <summary>
        /// 号牌颜色
        /// </summary>
        [Comment("号牌颜色")]
        [Display(Name = "号牌颜色")]
        public CarPlateColor Color { get; set; }

        /// <summary>
        /// 车辆识别代码(VIN)
        /// </summary>
        [Comment("车辆识别代码(VIN)")]
        [Display(Name = "车辆识别代码(VIN)")]
        [StringLength(50)]
        public string VIN { get; set; }

        /// <summary>
        /// 燃料类型
        /// </summary>
        [Comment("燃料类型")]
        [StringLength(50)]
        [Display(Name = "燃料类型)")]
        public string FuelType { get; set; }

        /// <summary>
        /// 排放标准
        /// </summary>
        [Display(Name = "排放标准)")]
        public EmissionStandard? EmissionStandard { get; set; }

    }
}
